package com.ruoyi.purchase.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * Supplier对象 supplier_info
 * 
 * @author kevinness
 * @date 2025-02-02
 */
public class Supplier extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 供货商编码 */
    private String supplierCode;

    /** 系统用户名 */
    @Excel(name = "系统用户名")
    private String username;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    private String contactName;

    /** 公司邮箱 */
    @Excel(name = "公司邮箱")
    private String email;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phone;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String bank;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankAccount;

    /** 营业执照号码 */
    @Excel(name = "营业执照号码")
    private String businessLicense;

    /** 注册日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 合作状态 */
    @Excel(name = "合作状态")
    private String cooperationStatus;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNo;

    /** 合同文档 */
    @Excel(name = "合同文档")
    private String contractDocument;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setCompanyName(String companyName) 
    {
        this.companyName = companyName;
    }

    public String getCompanyName() 
    {
        return companyName;
    }
    public void setContactName(String contactName) 
    {
        this.contactName = contactName;
    }

    public String getContactName() 
    {
        return contactName;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setBank(String bank) 
    {
        this.bank = bank;
    }

    public String getBank() 
    {
        return bank;
    }
    public void setBankAccount(String bankAccount) 
    {
        this.bankAccount = bankAccount;
    }

    public String getBankAccount() 
    {
        return bankAccount;
    }
    public void setBusinessLicense(String businessLicense) 
    {
        this.businessLicense = businessLicense;
    }

    public String getBusinessLicense() 
    {
        return businessLicense;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setCooperationStatus(String cooperationStatus) 
    {
        this.cooperationStatus = cooperationStatus;
    }

    public String getCooperationStatus() 
    {
        return cooperationStatus;
    }
    public void setContractNo(String contractNo) 
    {
        this.contractNo = contractNo;
    }

    public String getContractNo() 
    {
        return contractNo;
    }
    public void setContractDocument(String contractDocument) 
    {
        this.contractDocument = contractDocument;
    }

    public String getContractDocument() 
    {
        return contractDocument;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("supplierCode", getSupplierCode())
            .append("username", getUsername())
            .append("companyName", getCompanyName())
            .append("contactName", getContactName())
            .append("email", getEmail())
            .append("phone", getPhone())
            .append("address", getAddress())
            .append("bank", getBank())
            .append("bankAccount", getBankAccount())
            .append("businessLicense", getBusinessLicense())
            .append("startDate", getStartDate())
            .append("cooperationStatus", getCooperationStatus())
            .append("contractNo", getContractNo())
            .append("contractDocument", getContractDocument())
            .append("remarks", getRemarks())
            .toString();
    }
}
